class Solution:
def removeDuplicates(self, s: str, k: int) -> str:
stack = [s[0]]
count = 1
while True:
for i in range(1, len(s), 1):
if len(stack) == 0:
count = 1
stack.append(s[i])
elif s[i] == stack[-1]:
count += 1
stack.append(s[i])
else:
count = 1
stack.append(s[i])
if count == k:
while count != 0:
stack.pop()
count -= 1
if len(s) == len(stack):
break
s = stack
stack = [s[0]]
count = 1
return "".join(stack)
838A - Binary Blocks | 1515D - Phoenix and Socks |
1624D - Palindromes Coloring | 1552F - Telepanting |
1692G - 2Sort | 1191A - Tokitsukaze and Enhancement |
903A - Hungry Student Problem | 52B - Right Triangles |
1712A - Wonderful Permutation | 1712D - Empty Graph |
1712B - Woeful Permutation | 1712C - Sort Zero |
1028B - Unnatural Conditions | 735B - Urbanization |
746C - Tram | 1278B - A and B |
1353D - Constructing the Array | 1269C - Long Beautiful Integer |
1076A - Minimizing the String | 913C - Party Lemonade |
1313A - Fast Food Restaurant | 681A - A Good Contest |
1585F - Non-equal Neighbours | 747A - Display Size |
285A - Slightly Decreasing Permutations | 515C - Drazil and Factorial |
1151E - Number of Components | 1151F - Sonya and Informatics |
556A - Case of the Zeros and Ones | 867A - Between the Offices |